;:sys36864
	;.opt oo
	*= 50000
getkey	= 65508
strout	= $ab1e
vic	= 53248
bank	= 56576
ctr1	= vic+17
ctr2	= vic+22
frame	= vic+32
cint	= 65409
key	= 198
tmp	= 2
tmp2	 = 4
mul	= 6
base	= vic+24
scnclr	= $e544
axout	= $bdcd
chrout	= $ffd2
	jmp init
t1	.byte "\x96\x12show all\x92 <c> nss 3.1.86"
	.byt 13,13 
	 .byte "diese programm zeigt alle 8 hires spei- cher."
	.byt 13,13 
	 .byte "  \x12 w \x92 eiter"
	.byt 13,13 
	 .byte "  \x12 t \x92 ransfer nach 8192"
	.byt 13,13 
	 .byte "  \x12 z \x92 urueck"
	.byt 13,13 
	 .byte "  \x12 e \x92 nde"
	.byt 13,13 
	 .byte "  \x12 n \x92 eustart"
	.byt 13,13 
	 .byte "  \x12 d \x92 aten ausgeben"
	.byt 13,13 
	 .byte "  \x12 m \x92 ulticolor an/aus"
	.byt 13,13 
	 .byte "  \x12 a \x92 usstieg"
t7	.byt 13,13,13 
	 .byte "\x1d\x1d\x1d\x1d\x1d\x1d\x1d--- taste ---"
	.byt 0
t2	.byte "\x93aktuelle daten:"
	.byt 13,13 
	 .byte "speicher nr. " 
	 .byt 0
t3	.byt 13 
	 .byte "adresse      " 
	 .byt 0
t4	.byt 13 
	 .byte "poke 56576,  " 
	 .byt 0
t5	.byt 13 
	 .byte "poke 53272,  " 
	 .byt 0
t6	.byt 13 
	 .byte "multicolor   " 
	 .byt 0
tab1	.byt 21,29,21,29,21,29,21,29
tab2	.byt 151,151,150,150,149,149,148,148
m1	.byte "an" 
	 .byt 0
m2	.byte "aus" 
	 .byt 0
getin	txa 
	 pha 
	 tya 
	 pha
	jsr getkey 
	 sta tmp 
	 pla 
	 tay
	pla 
	 tax 
	 lda tmp 
	 rts
testmul	lda mul 
	 bpl z1410
	lda #<m1 
	 ldy #>m1 
	 jmp strout
z1410	lda #<m2 
	 ldy #>m2 
	 jmp strout
init	jsr cint 
	 lda #<t1 
	 ldy #>t1 
	 ldx tab2 
	 stx bank
	jsr strout 
	 lda #0 
	 sta frame 
	 sta frame+1 
	 sta key
z2020	jsr getkey 
	 beq z2020
	jsr scnclr 
	 ldx #0 
	 stx mul
set	lda #59 
	 sta ctr1 
	 lda #200
	bit mul 
	 bpl z2120 
	 lda #216
z2120	sta ctr2 
	 lda tab1,x
	sta base 
	 lda tab2,x 
	 sta bank
	lda #0 
	 sta frame
z2200	jsr getin 
	 beq z2200
	cmp #"e" 
	 beq end
	cmp #"w" 
	 beq weiter
	cmp #"z" 
	 beq zurueck
	cmp #"m" 
	 beq multi
	cmp #"d" 
	 beq data
	cmp #"t" 
	 beq trans
	cmp #"n" 
	 beq neu
	cmp #"a" 
	 beq aus
	jmp z2200
trans	jmp transfer
end	lda tab2 
	 sta bank 
	 jmp cint
weiter	inx 
	 cpx #8 
	 bcc set
	ldx #0 
	 beq set
zurueck	dex 
	 bpl set
	ldx #7 
	 bne set
multi	lda mul 
	 eor #255 
	 sta mul
	jmp set
neu	jmp init
aus	rts
data	lda #<t2 
	 ldy #>t2 
	 stx tmp 
	 jsr strout
	lda #200 
	 sta ctr2 
	 lda #27 
	 sta ctr1 
	 lda tab1 
	 sta base
	lda tab2 
	 sta bank
	lda tmp 
	 clc 
	 adc #"0" 
	 jsr chrout
	lda #<t3 
	 ldy #>t3 
	 jsr strout
	lda tmp 
	 asl 
	 asl 
	 asl 
	 asl 
	 asl 
	 ldx #0 
	 jsr axout
	lda #<t4 
	 ldy #>t4 
	 jsr strout
	ldx tmp 
	 lda tab2,x 
	 tax 
	 lda #0 
	 jsr axout
	lda #<t5 
	 ldy #>t5 
	 jsr strout
	ldx tmp 
	 lda tab1,x 
	 tax 
	 lda #0 
	 jsr axout
	lda #<t6 
	 ldy #>t6 
	 jsr strout 
	 jsr testmul
	lda #<t7 
	 ldy #>t7 
	 jsr strout
z2335	jsr getkey 
	 beq z2335
	jsr scnclr 
	 ldx tmp 
	 jmp set
transfer	lda #1 
	 sta frame
	cpx #1 
	 beq setm
	txa 
	 pha 
	 asl 
	 asl 
	 asl 
	 asl
	asl 
	 sta tmp+1 
	 ldy #0 
	 sty tmp
	sty tmp2 
	 ldx #32 
	 stx tmp2+1
z2416	lda (tmp),y 
	 sta (tmp2),y
	iny 
	 bne z2416 
	 inc tmp+1
	inc tmp2+1 
	 dex 
	 bne z2416
	pla 
	 tax
setm	jmp set
